package cn.ondraw.ragflow.pojo.response;

import lombok.Data;

import java.util.List;

/**
 * 数据集数据类
 */
@Data
public class DataSetInfo {
    private String avatar;
    private Integer chunk_count;
    private String chunk_method;
    private String create_date;
    private Long create_time;
    private String created_by;
    private String description;
    private Integer document_count;
    private String embedding_model;
    private String id;
    private String language;
    private String name;
    private Integer pagerank;
    private ParserConfig parser_config;
    private String permission;
    private Double similarity_threshold;
    private String status;
    private String tenant_id;
    private Integer token_num;
    private String update_date;
    private Long update_time;
    private Double vector_similarity_weight;

    @Data
    public static class ParserConfig {
        private Integer auto_keywords;
        private Integer auto_questions;
        private Integer chunk_token_num;
        private String delimiter;
        private GraphragConfig graphrag;
        private Boolean html4excel;
        private String layout_recognize;
        private RaptorConfig raptor;
        private List<String> tag_kb_ids;
        private Integer task_page_size;
        private List<List<Integer>> pages;
    }

    @Data
    public static class GraphragConfig {
        private List<String> entity_types;
        private String method;
        private Boolean resolution;
        private Boolean use_graphrag;
    }

    @Data
    public static class RaptorConfig {
        private Integer max_cluster;
        private Integer max_token;
        private String prompt;
        private Integer random_seed;
        private Double threshold;
        private Boolean use_raptor;
    }
}
